package 复制视频;
/*
复制图片"jhxfile.avi"
目的地"D:\\jhxfile"
四种方式
1.基本字节流一次读写一个字节 时间最慢
2.基本字节流一次读写一个字节数组 时间较慢
3.字节缓冲流一次读写一个字节 时间较快
4.字节缓冲流一次读写一个字节数组 时间最快
 */


import java.io.*;

public class CopyAviDemo {
    public static void main(String[] args) throws IOException {
        //记录开始时间
        long starttime =System.currentTimeMillis();
        //复制视频
//        method1();
//        method2();
//        method3();
        method4();

        //记录结束时间
        long endtime =System.currentTimeMillis();
        System.out.println("共耗时"+(endtime-starttime)+"毫秒");

    }
    //基本字节流读写一个字节
    public static void method1()throws IOException {
        FileInputStream fis=new FileInputStream("jhxfile.avi");
        FileOutputStream fos=new FileOutputStream("D:\\javajhx\\IO流\\jhxfile.avi");

        int by;
        while((by=fis.read())!=-1){
            fos.write(by);
        }
        fos.close();
        fis.close();
        }

        //基本字节流一次读写一个字节数组
    public static void method2() throws IOException {
        FileInputStream fis=new FileInputStream("jhxfile.avi");
        FileOutputStream fos=new FileOutputStream("D:\\javajhx\\IO流\\jhxfile.avi");

        byte[]by=new byte[1024];
        int len;
        while((len=fis.read(by))!=-1){
            fos.write(by,0,len);
        }
        fis.close();
        fos.close();
    }
       //字节缓冲流一次读写一个字节
    public static void method3() throws  IOException{
        BufferedInputStream bis=new BufferedInputStream(new FileInputStream("jhxfile.avi"));
        BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("D:\\javajhx\\IO流\\jhxfile.avi"));

        int by;
        while((by= bis.read())!=-1){
            bos.write(by);

        }
        bis.close();
        bos.close();
    }
    public static void method4() throws IOException{
        BufferedInputStream bis=new BufferedInputStream(new FileInputStream("jhxfile.avi"));
        BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("D:\\javajhx\\IO流\\jhxfile.avi"));

        byte[] by=new byte[1024];
        int len;
        while((len= bis.read(by))!=-1){
            bos.write(by,0,len);
        }
        bis.close();
        bos.close();
    }

}
